Short-range RF systems have a typical range of one hundred meters or less. They often combine with systems wired to the Internet to provide communication over long distances. The category of short-range RF systems includes wireless personal area networks (PANs) and wireless local area networks (LANs). They have the common feature of operating in unlicensed portions of the radio spectrum, usually either in the 2.4 GHz Industrial, Scientific, and Medical (ISM) band or the 5 GHz Unlicensed-National Information Infrastructure (U-NII) band. Wireless personal area networks use low cost, low power wireless devices that have a typical range of ten meters. The best-known example of wireless personal area network technology is the Bluetooth Standard, which operates in the 2.4 GHz ISM band. It provides a peak air link speed of one Mbps and a power consumption low enough for use in personal, portable electronics such as PDAs and mobile phones. Wireless local area networks (LANs) generally operate at higher peak speeds of between 10 to 100 Mbps and have a longer range, which requires greater power consumption. Wireless local area networks are typically used as wireless links from portable laptop computers to a wired LAN, via an access point (AP). Examples of wireless local area network technology include the IEEE 802.11 Wireless LAN Standard and the HIPERLAN Standard, which operates in the 5 GHz U-NII band.
Bluetooth is a short-range radio network, originally intended as a cable replacement. It can be used to create ad hoc networks of up to eight devices operating together. The Bluetooth Special Interest Group, Specification Of The Bluetooth System, Volumes 1 and 2, Core and Profiles: Version 1.1, Feb. 22, 2001, describes the principles of Bluetooth device operation and communication protocols. The devices operate in the 2.4 GHz radio band reserved for general use by Industrial, Scientific, and Medical (ISM) applications. Bluetooth devices are designed to find other Bluetooth devices within their ten meter radio communications range and to discover what services they offer.
A connection between two Bluetooth devices is initiated by an inquiring device sending out an inquiry message searching for other devices in its vicinity. Any other Bluetooth device that is listening by means of conducting an inquiry scan, will recognize the inquiry message and respond. The inquiry response is a frequency hop synchronization (FHS) packet containing all of the information required by the inquiring device to address the responding device. This information includes clock value of the sender (i.e., the responding device) and the sender's correct device access code. The access code includes the lower address part (LAP) and the upper address part (UAP) of the sender's Bluetooth Device Address (BD_ADDR), a unique, 48-bit IEEE address that is electronically engraved into each Bluetooth device.
Each Bluetooth device synchronizes transmit and receive data exchanges with other Bluetooth devices using its own real time clock counter or time of day counter. The clock counter has a 28 bit count which is reset to zero at power-on and free-runs thereafter, incrementing every half slot of 312.5 microseconds. The clock counter therefore defines a slot interval of 625 microseconds. The clock counter wraps approximately once per day. Every device has its own native free-running clock counter that controls the timing and operation of that device, referred to as “CLKN”. If a device is operating as a master device, it controls the piconet using its own clock CLKN as its internal reference timing. If a device is operating as a slave device, then its timing must be exactly synchronized with that of the master in its piconet. To synchronize with the master, the slave device must add an offset value onto its own native clock CLKN to derive a new clock value “CLK” which is its estimate of the master's clock CLKN. If a device is operating as a master device, it creates an estimate clock value “CLKE”, which is an estimate of the CLK in a slave device with which the master is establishing a connection, prior to the slave having become synchronized with the master. The lowest two bits of CLK are directly used to define the beginning of the slots and half-slots for transmitting and receiving packets. A master transmission in the connected state always starts when CLK=00, and a slave transmission in the connected state always starts when CLK=10. A finer synchronization can then be achieved by a device using the synchronization word in the received packets to re-align the timing.
The Bluetooth transceiver is a frequency-hopping spread-spectrum radio system operating over 79 radio frequency channels, each being one megahertz wide. The radio hops at a rate of 1600 hops per second, pseudo-randomly across all 79 of these frequencies. The residence interval for the radio remaining at any one frequency is the slot time of 625 microseconds per hop. The hop channel selection function is a mapping algorithm which follows a different sequence, depending on the link control state: [1] page or inquiry state; [2] page response or inquiry response state; [3] page scan or inquiry scan state; or [4] connection state. For a particular one of these four hop channel sequences, the current frequency in that sequence depends on the lower address part (LAP) and upper address part (UAP) of the supplied Bluetooth Device Address (BD_ADDR), and it depends on the current CLK value.
The inquiring device will become the master and the responding device will become the slave in the eventual piconet, if a connection is established. To establish a connection, the inquiring device must enter the page state. The inquiring/paging device uses the information provided in the inquiry response packet, to prepare and send a paging message to the responding device. The inquiring/paging device uses the estimated clock CLKE and access code of the responding device (i.e., the eventual slave device) to temporarily synchronize with it. Since the inquiring/paging device intends to be the master, it includes an assignment of an active member address (AM_ADDR) in the paging message. The paging message sent by the inquiring/paging device is also a frequency hop synchronization (FHS) packet containing all of the information required by the responding device to directly reply to the inquiring/paging device. This information includes clock value of the sender (i.e., the inquiring/paging device) and the inquiring/paging device's correct device access code. The responding device must be in the page scan state to allow the inquiring/paging device to connect with it. Once in the page scan state, the responding device will receive the paging packet that provides the clock timing and access code of the inquiring/paging device. The responding device responds with a page acknowledgment packet. This enables the two devices to form a connection and both devices transition into the connection state. The inquiring/paging device that has initiated the connection assumes the role of a master device and the responding device assumes the role of a slave device in a new ad hoc network piconet, using the CLK clock timing and access code of the master device.
Each piconet has one master device and up to seven active slave devices. All communication is directed between the master device and each respective slave device. The master initiates an exchange of data and the slave responds to the master. When two slave devices are to communicate with each other, they must do so through the master device. The master device maintains the piconet's network clock and controls when each slave device can communicate with the master device. Members of the ad hoc network piconet join and leave as they move into and out of the range of the master device. Piconets support distributed activities, such as multi-user gateways to the Internet or to a content server, wherein one device serves as the access point and is connected to an infrastructure network or content server. A user's device that joins a multi-user gateway piconet, does so to enable its user to access the infrastructure network or content server.
During ongoing piconet operation, a master Bluetooth device transmits on even-numbered slots and receives on odd numbered slots. Each of up to seven active slave devices can take its turn transmitting on one of the odd numbered slots. A slave transmits only if the master has transmitted to it on the previous even slot. This tight time-division duplex timing cannot be maintained when the master device is sending inquiry packets to attract still another slave device. The speed of establishing a connection with a new slave device is also impaired.
A master Bluetooth device transmits two inquiry packets per slot on successive even slots. The master listens for a response in both halves of its following receive slot. If the master receives the inquiry response packet in the first half of its receive slot, it cannot receive a response from a second slave in the second half of the slot because it does not have the time to hop to a second frequency. Thus, the available bandwidth of a master device for normal traffic is reduced when the master engages in the inquiry and paging with a new potential slave device. When the master device is an access point serving as a gateway for multiple mobile devices to an infrastructure network, it is important to maintain the highest traffic bandwidth. It is also important not to impair the speed in establishing a connection with a new slave device.
The Bluetooth device in an access point may also receive an inquiry packet from a mobile device. If the access point device replies with an inquiry response packet, the access point device is potentially the slave in the eventual second piconet to be formed between the two devices. The access point device forms two device domains, one is the master domain with its master clock serving the existing piconet. The second domain is the slave domain where the access point device adopts the clock of the mobile device serving as a master in the second piconet. A slave device can only have one master device. Access point devices are therefore typically programmed to then signal for a master-slave role switch. Any Bluetooth device can be programmed to request a switch in roles with respect to another device it is communicating with. The master in a access point is typically programmed to allow it to be paged and connected to a mobile device, forming a temporary slave domain in the access point device. It is programmed to then send a request to the mobile device to switch roles. If the mobile device agrees, then the access point device must send detailed information on its clock, so that the mobile device can move onto the access point device's timing. The access point device sends an FHS packet to give the timing information and a new active member address to the mobile device. Then both devices switch to the frequency hop sequence of the access point device. The access point device then sends a POLL packet to the mobile device, which is now a slave device, to test the new link. In this manner, the slave domain of the access point device imposes its clock onto the paired mobile device and they switch master/slave roles. The two domains in the access point then merge into the single master domain and its clock serves as the master clock for all of the slave devices. During the period when the access point is managing both a master and a slave domain, tight time-division duplex timing cannot be maintained and its bandwidth is impaired. The speed of establishing a connection with a new slave device is also impaired.
FIG. 5 illustrates an example prior art system, where the access point 140′ can have one or more prior art Bluetooth communication modules 140A, 140B, and 140C. The modules 140A, 140B, and 140C function independently. This causes bandwidth problems whenever a new mobile device 10A, 100B, or 100C is trying to join to an existing ad-hoc network 110A, 110B, or 110C, respectively. For example, if modules 140A, 140B, and 140C are functioning independently, then when a mobile device 110A sends an Inquiry message, it is possible that more than one of the access point modules 140A, 140B, and 140C receive the messages and responds by sending an Inquiry Response message. This coincident response by two or more access point modules 140A, 140B, and 140C leads to a situation where communication with other mobiles is pointlessly hindered.
What is needed is a way to solve the problem of limited bandwidth of a Bluetooth access point, and to shorten the time required by the access point when establishing connection with both mobile master devices and mobile slave devices.